/*
 * 文件名：RequestPayload.java
 * 版权：MoonBox 
 * 修改人：Peter
 * 修改时间：2018年9月30日
 * 修改内容：新增
 */
package com.renzhebiao.lkang.request;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;

/**
 * <p>
 * 
 * @author Peter
 * @since 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class RequestPayload {

    /** 请求跟踪ID */
    String          traceId;

    /** 用户ID */
    Long            userId;

    /** ip地址 */
    String          ip;

    /** token */
    String          token;

    /** 请求流水号 */
    String          serialNo;

    /** 请求路径 */
    private String  uri;

    /** 类名全路径 */
    private String  className;

    /** 请求方式(GET,POST,PUT,DELETE) */
    private String  method;

    /** 请求体 */
    private String  reqBody;

    /** 返回对象 */
    private String  resBody;

    /** 终端类型 （1:PC 2:安卓 3: IOS 4: 微信安卓端 5：微信IOS端 ） */
    private Byte    deviceType;

    /** 平台（1：会员PC端 2. 会员微信端 3：经理PC端 4：运营后台） */
    private Byte    platformType;

    /** HTTP状态码 */
    private Integer httpCode;

    /** 操作时长 */
    private Long    duration;

    /** 终端设备编号 */
    private String  deviceNo;

    /// ** 操作模块(10: 账户系统 11：产品系统 12：订单系统 13 ：导购系统 14：内容系统) */
    // private Integer module;

    /** 终端设备信息 */
    private String  userAgent;

    /** 请求内容类型 */
    private String  contentType;

    /** URL参数 */
    private String  queryString;

    /** 开始时间 */
    private Long    startTime;

    /** 平台类型 */
    private String  platformCode;

    /** 操作类型 */
    private Integer optType;

    /** 操作名称 */
    private String  optName;

    /**
     * 操作结果（1：成功，2失败）
     */
    private Byte    succeed;

    private String  url;

}
